using System;
using System.Runtime.InteropServices;

internal class Win32API
{
    [DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
    public static extern int CallNextHookEx(IntPtr pHookHandle, int nCode, int wParam, IntPtr lParam);
    [DllImport("user32.dll")]
    public static extern int GetCursorPos(ref POINT lpPoint);
    [DllImport("user32.dll")]
    public static extern int GetKeyboardState(byte[] pbKeyState);
    [DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
    public static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, int uFlags);
    [DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
    public static extern IntPtr SetWindowsHookEx(WH_Codes idHook, HookProc lpfn, IntPtr pInstance, int threadId);
    [DllImport("user32.dll")]
    public static extern int ToAscii(uint uVirtKey, uint uScanCode, byte[] lpbKeyState, byte[] lpwTransKey, uint fuState);
    [DllImport("user32.dll", CallingConvention=CallingConvention.StdCall)]
    public static extern bool UnhookWindowsHookEx(IntPtr pHookHandle);
}

